// #include<iostream>
// #include<string>
// using namespace std;
//
// //类模版 用template修饰的类 都叫做类模版
//
// //只要template修饰就是类模版 不管用不用
// template <typename T1,typename T2>
// class Data
// {
// public:
// };
//
// //自己写代码不要写a b 写T1 T2
// template<typename a,typename b>
// class value:public Data<a,b>
// {
//
// };
//
// template<typename T1,typename T2>
// class MM
// {
// public:
//     MM(T1 first,T2 second):first(first),second(second)
//     {
//
//     }
//
//     void print();
// protected:
//     T1 first;
//     T2 second;
// };
//
// template <typename T1, typename T2>
// void MM<T1, T2>::print()
// {
//     cout << first << endl;
//     cout << second << endl;
// }
//
//
//
// int main()
// {
//
//     //类模版只能显示调用  -> 用到类型的地方都需要用 类名<类型>的用法
//     Data<int,int> object;
//     Data<int,int>* p = new Data<int, int>;
//
//     MM<string,int> girl("小方",18);
//     girl.print();
//     MM<string,int>* pmm = new MM<string,int>("小方",18);
//     pmm->print();
//
//     return 0;
// }